using System;
using System.Threading.Tasks;
using UnityEngine;

/// <summary>
/// 资源加载模块接口
/// </summary>
public interface IResModule
{
    /// <summary>
    /// 加载预制体prefab
    /// </summary>
    /// <param name="path">资源路径</param>
    Task<GameObject> Load(string path);
    
    /// <summary>
    /// 回收资源
    /// </summary>
    /// <param name="path">资源路径</param>
    /// <param name="prefab">预制体</param>
    void Recycle(string path, GameObject prefab);
    
    /// <summary>
    /// 释放资源
    /// </summary>
    void Dispose();
}

